package cn.iocoder.ny.module.mall.service;

import cn.iocoder.ny.module.mall.controller.admin.order.vo.MallOrderVo;
import cn.iocoder.ny.module.mall.domain.MallOrder;
import cn.iocoder.ny.module.mall.utils.wxpay.ResultModel;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.yulichang.base.MPJBaseService;
import com.wechat.pay.java.service.payments.jsapi.model.PrepayWithRequestPaymentResponse;
import org.springframework.stereotype.Service;

import java.util.HashMap;
import java.util.List;

//MPJBaseService  vs IService
public interface IMallOrderService extends MPJBaseService<MallOrder> {
    PageResult<MallOrder> getMallOrderpage(MallOrderVo mallOrderVo);


    PageResult<HashMap<String,Object>> getMallOrderPageMap(MallOrderVo mallOrderVo);

    List<HashMap<String,Object>> getMallOrderList(MallOrderVo mallOrderVo, Long userid);

    //可以工作
    //IPage<HashMap<String, Object>> selectPageByMap(MallOrderVo mallOrderVo, Long userid);

    IPage<HashMap<String, Object>> selectPageByMap(HashMap<String,Object> hashMap, Long userid);

    //ForSeller (给商家看的订单）即入参只要telentid,selectPageByMapYDForSeller
    IPage<HashMap<String, Object>> selectPageByMapYDForSeller(HashMap<String,Object> hashMap);


    HashMap<String, Object> selectMapByMap(HashMap<String,Object> hashMap);



    //业务添加订单
    ResultModel<PrepayWithRequestPaymentResponse> addOrder(HashMap<String,Object> mallOrderVo);

    ResultModel<PrepayWithRequestPaymentResponse> newpay(HashMap<String,Object> mallOrderVo);

    //业务添加订单
    ResultModel<PrepayWithRequestPaymentResponse> goToPay(HashMap<String,Object> mallOrderVo);


    HashMap<String, Object> findVeriUser(Long orderid);
}
